fs: prevent page refcount overflow in pipe_buf_get
authorMatthew Wilcox <willy@infradead.org>
Fri, 5 Apr 2019 21:02:10 +0000 (14:02 -0700)
committerSalvatore Bonaccorso <carnil@debian.org>
Thu, 18 Jul 2019 22:23:17 +0000 (23:23 +0100)
commit0ee989ff1b78b51be804ed3318c8145e808ae7a1
tree5e37ef522eaa6f71b707cd4cd45afe03ba912c10
parenta11571e1d1590effd8490cb61fd568c2a8d8b43e
fs: prevent page refcount overflow in pipe_buf_get

commit 15fab63e1e57be9fdb5eec1bbc5916e9825e9acb upstream.

Change pipe_buf_get() to return a bool indicating whether it succeeded
in raising the refcount of the page (if the thing in the pipe is a page).
This removes another mechanism for overflowing the page refcount.  All
callers converted to handle a failure.

Reported-by: Jann Horn <jannh@google.com>
Signed-off-by: Matthew Wilcox <willy@infradead.org>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gbp-Pq: Topic bugfix/all
Gbp-Pq: Name 0004-fs-prevent-page-refcount-overflow-in-pipe_buf_get.patch
fs/fuse/dev.c
fs/pipe.c
fs/splice.c
include/linux/pipe_fs_i.h
kernel/trace/trace.c